using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Collections;
using System.Data.SqlClient;


public class DBActividad : DALBase
{    
    public static List<AbstractBean> findActividad(ActividadBean beanParametro)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        ActividadBean bean = null;

        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_S_BUSQUEDA", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@CLIENTE", fnVerNuloStr(beanParametro.codigocliente)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.Parameters.Add(new SqlParameter("@FECHA", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOTIPOACTIVIDAD", fnVerNuloStr(beanParametro.codigotipoactividad)));

                //cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil)));

                cmd.Parameters.Add(new SqlParameter("@PAGINAACTUAL", beanParametro.paginaactual));

                cmd.Parameters.Add(new SqlParameter("@REGISTROPORPAGINA", beanParametro.registroporpagina));

                cmd.Parameters.Add(new SqlParameter("@BUSCARNAME", fnVerNuloStr(beanParametro.buscarname)));

                cmd.Parameters.Add(new SqlParameter("@BUSCARORDEN", beanParametro.buscarorden));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("CLIENTE")).ToString().Trim();

                        bean.fechainicio = loDr.GetValue(loDr.GetOrdinal("FECHAINICIO")).ToString().Trim();

                        bean.fechafin = loDr.GetValue(loDr.GetOrdinal("FECHAFIN")).ToString().Trim();

                        bean.programacion = loDr.GetValue(loDr.GetOrdinal("PROGRAMACION")).ToString().Trim();

                        bean.flag = loDr.GetValue(loDr.GetOrdinal("FLAG")).ToString().Trim();

                        bean.descripcion = loDr.GetValue(loDr.GetOrdinal("DESCRIPCION")).ToString().Trim();

                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("TIPOACTIVIDAD")).ToString().Trim();

                        bean.usuario = loDr.GetValue(loDr.GetOrdinal("USUARIO")).ToString().Trim();

                        bean.tamaniototal = loDr.GetValue(loDr.GetOrdinal("TAMANIOTOTAL")).ToString().Trim(); ;
                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }


    public static ActividadBean getActividadBeanPK(String id)
    {

        ActividadBean bean = null;

        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_S_PK", conn))
            {

                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", id));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBRE")).ToString().Trim();

                        bean.fechainicio = loDr.GetValue(loDr.GetOrdinal("FECHAINICIO")).ToString().Trim();

                        bean.fechafin = loDr.GetValue(loDr.GetOrdinal("FECHAFIN")).ToString().Trim();

                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();

                        bean.orden =   fnVerNuloInt(loDr.GetValue(loDr.GetOrdinal("ORDEN")));

                        bean.flag = loDr.GetValue(loDr.GetOrdinal("FLAG")).ToString().Trim();

                        bean.descripcion = loDr.GetValue(loDr.GetOrdinal("DESCRIPCION")).ToString().Trim();

                        bean.codigotipoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOTIPOACTIVIDAD")).ToString().Trim();

                        bean.programacion = loDr.GetValue(loDr.GetOrdinal("PROGRAMACION")).ToString().Trim();

                        //bean.codigoperfil = loDr.GetValue(loDr.GetOrdinal("CODIGOPERFIL")).ToString().Trim();

                        //bean.perfil = loDr.GetValue(loDr.GetOrdinal("PERFILNOMBRE")).ToString().Trim();

                        bean.usuario = loDr.GetValue(loDr.GetOrdinal("USUARIONOMBRE")).ToString().Trim();

                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("TIPOACTIVIDADNOMBRE")).ToString().Trim();

                        bean.codigocliente = loDr.GetValue(loDr.GetOrdinal("CODIGOCLIENTE")).ToString().Trim();

                    }
                }
            }
        }

        return bean;
    }


    public static string addActividadBean(ActividadBean beanParametro)
    {

        string id = "";

        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {
            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_I", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", beanParametro.id));

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@NOMBRE", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@FECHAFIN", getStringFechaYYMMDDHHMM(beanParametro.fechafin)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.Parameters.Add(new SqlParameter("@DESCRIPCION", fnVerNuloStr( beanParametro.descripcion)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOTIPOACTIVIDAD", fnVerNuloStr(beanParametro.codigotipoactividad)));

                cmd.Parameters.Add(new SqlParameter("@PROGRAMACION", fnVerNuloStr(beanParametro.programacion)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOCLIENTE", fnVerNuloStr(beanParametro.codigocliente)));

                //cmd.ExecuteNonQuery();

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();
                    }
                }


            }
        }

        return id;

    }

    public static TipoActividadBean getTipoActividadBeanPK(String id)
    {

        TipoActividadBean bean = null;

        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_TIPO_ACTIVIDAD_S_PK", conn))
            {

                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", id));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new TipoActividadBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBRE")).ToString().Trim();

                        bean.flag = loDr.GetValue(loDr.GetOrdinal("FLAG")).ToString().Trim();

                    }
                }
            }
        }

        return bean;
    }

    public static void addTipoActividadBean(TipoActividadBean beanParametro)
    {
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {
            using (SqlCommand cmd = new SqlCommand("USPW_TIPO_ACTIVIDAD_I", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(beanParametro.id)));

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@NOMBRE", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.ExecuteNonQuery();

            }
        }

    }

    public static List<AbstractBean> findTipoActividadBean(TipoActividadBean beanParametro)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        TipoActividadBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_TIPO_ACTIVIDAD_S_BUSQUEDA", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@NOMBRE", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.Parameters.Add(new SqlParameter("@PIV_PAG_ACTUAL", beanParametro.paginaactual));

                cmd.Parameters.Add(new SqlParameter("@PIV_NUMERO_REGISTROS", beanParametro.registroporpagina));

                cmd.Parameters.Add(new SqlParameter("@BUSCARNAME", fnVerNuloStr(beanParametro.buscarname)));

                cmd.Parameters.Add(new SqlParameter("@BUSCARORDEN", beanParametro.buscarorden));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new TipoActividadBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBRE")).ToString().Trim();

                        bean.flag = loDr.GetValue(loDr.GetOrdinal("FLAG")).ToString().Trim();

                        bean.tamaniototal = loDr.GetValue(loDr.GetOrdinal("TAMANIOTOTAL")).ToString().Trim();
                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static EstadoBean getEstadoBeanPK(String id)
    {

        EstadoBean bean = null;

        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ESTADO_S_PK", conn))
            {

                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", id));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new EstadoBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBRE")).ToString().Trim();

                        bean.descripcion = loDr.GetValue(loDr.GetOrdinal("DESCRIPCION")).ToString().Trim();

                        bean.flaglista = loDr.GetValue(loDr.GetOrdinal("FLAGLISTA")).ToString().Trim();

                        bean.flagtexto = loDr.GetValue(loDr.GetOrdinal("FLAGTEXTO")).ToString().Trim();

                        bean.flagfoto = loDr.GetValue(loDr.GetOrdinal("FLAGFOTO")).ToString().Trim();

                        bean.orden = loDr.GetInt32(loDr.GetOrdinal("ORDEN"));

                        bean.etiqueta = loDr.GetValue(loDr.GetOrdinal("ETIQUETA")).ToString().Trim();

                        bean.codigotipoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOTIPOACTIVIDAD")).ToString().Trim();

                        bean.nombretipoactividad = loDr.GetValue(loDr.GetOrdinal("NOMBRETIPOACTIVIDAD")).ToString().Trim();

                    }
                }
            }
        }

        return bean;
    }

    public static void addEstadoBean(EstadoBean beanParametro)
    {
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {
            using (SqlCommand cmd = new SqlCommand("USPW_ESTADO_I", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(beanParametro.id)));

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@NOMBRE", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@DESCRIPCION", fnVerNuloStr(beanParametro.descripcion)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.Parameters.Add(new SqlParameter("@FLAGLISTA", fnVerNuloStr(beanParametro.flaglista)));

                cmd.Parameters.Add(new SqlParameter("@FLAGTEXTO", fnVerNuloStr(beanParametro.flagtexto)));

                cmd.Parameters.Add(new SqlParameter("@FLAGFOTO", fnVerNuloStr(beanParametro.flagfoto)));

                cmd.Parameters.Add(new SqlParameter("@ORDEN", beanParametro.orden));

                cmd.Parameters.Add(new SqlParameter("@ETIQUETA", fnVerNuloStr(beanParametro.etiqueta)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOTIPOACTIVIDAD", fnVerNuloStr(beanParametro.codigotipoactividad)));

                cmd.ExecuteNonQuery();

            }
        }

    }

    public static List<AbstractBean> findEstadoBean(EstadoBean beanParametro)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        EstadoBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ESTADO_S_BUSQUEDA", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(beanParametro.id)));

                cmd.Parameters.Add(new SqlParameter("@CODIGO", fnVerNuloStr(beanParametro.codigo)));

                cmd.Parameters.Add(new SqlParameter("@NOMBRE", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@FLAG", fnVerNuloStr(beanParametro.flag)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOTIPOACTIVIDAD", fnVerNuloStr(beanParametro.codigotipoactividad)));

                cmd.Parameters.Add(new SqlParameter("@PAGINAACTUAL", beanParametro.paginaactual));

                cmd.Parameters.Add(new SqlParameter("@REGISTROPORPAGINA", beanParametro.registroporpagina));

                cmd.Parameters.Add(new SqlParameter("@BUSCARNAME", fnVerNuloStr(beanParametro.buscarname)));

                cmd.Parameters.Add(new SqlParameter("@BUSCARORDEN", beanParametro.buscarorden));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new EstadoBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGO")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBRE")).ToString().Trim();

                        bean.descripcion = loDr.GetValue(loDr.GetOrdinal("DESCRIPCION")).ToString().Trim();

                        bean.flag = loDr.GetValue(loDr.GetOrdinal("FLAG")).ToString().Trim();

                        bean.flaglista = loDr.GetValue(loDr.GetOrdinal("FLAGLISTA")).ToString().Trim();

                        bean.flagtexto = loDr.GetValue(loDr.GetOrdinal("FLAGTEXTO")).ToString().Trim();

                        bean.flagfoto = loDr.GetValue(loDr.GetOrdinal("FLAGFOTO")).ToString().Trim();

                        bean.orden = loDr.GetInt32(loDr.GetOrdinal("ORDEN"));

                        bean.etiqueta = loDr.GetValue(loDr.GetOrdinal("ETIQUETA")).ToString().Trim();

                        bean.nombretipoactividad = loDr.GetValue(loDr.GetOrdinal("NOMBRETIPOACTIVIDAD")).ToString().Trim();

                        bean.tamaniototal = loDr.GetValue(loDr.GetOrdinal("TAMANIOTOTAL")).ToString().Trim(); ;
                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static List<AbstractBean> findActividadReporteBean(ActividadReporteBean beanParametro, String usuarioSesion)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        ActividadReporteBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_S_REPORTE", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@NOMBREACTIVIDAD", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil))); // nuevo

                cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@FECHAFIN", getStringFechaYYMMDDHHMM(beanParametro.fechafin)));
                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO_SESION", fnVerNuloStr(usuarioSesion)));
                cmd.Parameters.Add(new SqlParameter("@FLAG_SUPERVISOR", fnVerNuloStr(AbstractBean.ACTIVO)));
                cmd.Parameters.Add(new SqlParameter("@PAGINAACTUAL", beanParametro.paginaactual));

                cmd.Parameters.Add(new SqlParameter("@REGISTROPORPAGINA", beanParametro.registroporpagina));

                cmd.Parameters.Add(new SqlParameter("@BUSCARNAME", fnVerNuloStr(beanParametro.buscarname)));

                cmd.Parameters.Add(new SqlParameter("@BUSCARORDEN", beanParametro.buscarorden));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadReporteBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.usuario = loDr.GetValue(loDr.GetOrdinal("USUARIO")).ToString().Trim();

                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("TIPOACTIVIDAD")).ToString().Trim();

                        bean.cantidadestado = loDr.GetInt32(loDr.GetOrdinal("CANTIDADESTADO"));

                        bean.cantidadestadorealizado = loDr.GetInt32(loDr.GetOrdinal("CANTIDADESTADOREALIZADO"));

                        bean.fechainiciorealizado = loDr.GetValue(loDr.GetOrdinal("FECHAINICIOREALIZADO")).ToString().Trim();

                        bean.fechafinrealizado = loDr.GetValue(loDr.GetOrdinal("FECHAFINREALIZADO")).ToString().Trim();

                        //bean.duracion = loDr.GetValue(loDr.GetOrdinal("DURACION")).ToString().Trim();

                        bean.tamaniototal = loDr.GetValue(loDr.GetOrdinal("TAMANIOTOTAL")).ToString().Trim();

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static ActividadReporteBean getActividadReporteBeanPK(string id)
    {
      
        ActividadReporteBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_RESUMEN_S_PK", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(id)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadReporteBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();

                        bean.nombreusuario = loDr.GetValue(loDr.GetOrdinal("NOMBREUSUARIO")).ToString().Trim();

                        bean.nombreactividad = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.codigoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.fechainiciorealizado = loDr.GetValue(loDr.GetOrdinal("FECHAINICIO")).ToString().Trim();

                        bean.codigoestado = loDr.GetValue(loDr.GetOrdinal("CODIGOESTADO")).ToString().Trim();

                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("NOMBREESTADO")).ToString().Trim();

                        bean.duracion = loDr.GetValue(loDr.GetOrdinal("DURACION")).ToString().Trim();

                        bean.fechafinrealizado = loDr.GetValue(loDr.GetOrdinal("FECHAFIN")).ToString().Trim();

                        bean.ocio = loDr.GetValue(loDr.GetOrdinal("OCIO")).ToString().Trim();

                        bean.finalizado = loDr.GetValue(loDr.GetOrdinal("FINALIZADO")).ToString().Trim();

                        bean.cantidadestado = fnVerNuloInt( loDr.GetValue(loDr.GetOrdinal("CANTIDADESTADO")));

                        bean.cantidadestadorealizado = fnVerNuloInt(loDr.GetValue(loDr.GetOrdinal("CANTIDADESTADOREALIZADO")));

                        bean.cantidadactividad = fnVerNuloInt(loDr.GetValue(loDr.GetOrdinal("CANTIDADACTIVIDAD")));

                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("NOMBRETIPOACTIDAD")).ToString().Trim();

                       
                    }
                }
            }
        }

        return bean;
    }

    // nuevo

    public static ActividadReporteBean getActividadEstadoReporteBeanPK(string id)
    {

        ActividadReporteBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDADESTADO_S_PK", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(id)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadReporteBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();
                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();
                        bean.codigoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();
                        bean.nombreactividad = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.fechamovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();
                        bean.nombreusuario = loDr.GetValue(loDr.GetOrdinal("NOMBREUSUARIO")).ToString().Trim();
                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("NOMBREESTADO")).ToString().Trim();

                        bean.observacion = loDr.GetValue(loDr.GetOrdinal("OBSERVACION")).ToString().Trim();
                        bean.nombreentrega = loDr.GetValue(loDr.GetOrdinal("NOMBREENTREGA")).ToString().Trim();
                        bean.nombrenovisita = loDr.GetValue(loDr.GetOrdinal("NOMBRENOVISITA")).ToString().Trim();
                        bean.fecharegistro = loDr.GetValue(loDr.GetOrdinal("FECHAREGISTRO")).ToString().Trim();
                        
                        bean.latitud = loDr.GetValue(loDr.GetOrdinal("LATITUD")).ToString().Trim();
                        bean.longitud = loDr.GetValue(loDr.GetOrdinal("LONGITUD")).ToString().Trim();

                    }
                }
            }
        }

        return bean;
    }

    // nuevo

    public static ActividadReporteBean getActividadGPSPK(string id)
    {

        ActividadReporteBean bean = null;
        List<ActividadReporteBean> lista = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_MAPA_S_PK", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@ID", fnVerNuloStr(id)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadReporteBean();
                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();
                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();
                        bean.codigoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();
                        bean.nombreactividad = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.fechamovil = loDr.GetValue(loDr.GetOrdinal("FECHAINICIO")).ToString().Trim();
                        bean.nombreusuario = loDr.GetValue(loDr.GetOrdinal("NOMBREUSUARIO")).ToString().Trim();
                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("NOMBREESTADO")).ToString().Trim();
                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("CLIENTE")).ToString().Trim();

                        bean.duracion = loDr.GetValue(loDr.GetOrdinal("DURACION")).ToString().Trim();
                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("NOMBRETIPOACTIVIDAD")).ToString().Trim();

                        bean.fechainiciorealizado = loDr.GetValue(loDr.GetOrdinal("FECHAINICIO")).ToString().Trim();
                        bean.fechafinrealizado = loDr.GetValue(loDr.GetOrdinal("FECHAFIN")).ToString().Trim();

                        bean.cantidadestado = Int16.Parse(loDr.GetValue(loDr.GetOrdinal("CANTIDADESTADO")).ToString().Trim());
                        bean.cantidadestadorealizado = Int16.Parse(loDr.GetValue(loDr.GetOrdinal("CANTIDADESTADOREALIZADO")).ToString().Trim());

                        //lista.Add(bean);
                    }
                }
            }
        }

        return bean;
    }


    public static List<RegistroTrackBean> findActividadMapaBean(string codigousuario, string fechamovil, string codigoactividad)
    {
        List<RegistroTrackBean> lista = new List<RegistroTrackBean>();
        RegistroTrackBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_MAPA", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FECHAMOVIL", getStringFechaYYMMDDHHMM(fechamovil)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOACTIVIDAD", fnVerNuloStr(codigoactividad)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    Int64 i = 0;
                    while (loDr.Read())
                    {
                        bean = new RegistroTrackBean();

                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.tamaniototal = (++i) + "";

                        bean.codigoactividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.nombreactividad = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("NOMBREESTADO")).ToString().Trim();

                        bean.fechamovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();

                        bean.latitud = loDr.GetValue(loDr.GetOrdinal("LATITUD")).ToString().Trim();

                        bean.longitud = loDr.GetValue(loDr.GetOrdinal("LONGITUD")).ToString().Trim();

                        bean.observacion = loDr.GetValue(loDr.GetOrdinal("OBSERVACION")).ToString().Trim();

                        bean.motivoentrega = loDr.GetValue(loDr.GetOrdinal("MOTIVOENTREGA")).ToString().Trim();

                        bean.motivonoentrega = loDr.GetValue(loDr.GetOrdinal("MOTIVONOENTREGA")).ToString().Trim();

                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();

                        //bean.asistencia = loDr.GetValue(loDr.GetOrdinal("ASISTENCIA")).ToString().Trim();

                        //bean.idgeocerca = loDr.GetValue(loDr.GetOrdinal("IDGEOCERCA")).ToString().Trim();

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static List<FotoDato> getActividadFotosReporte(ActividadReporteBean beanParametro)
    {
        List<FotoDato> lista = new List<FotoDato>();
        FotoDato bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_FOTOS_REPORTE", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FECHAMOVIL", getStringFechaYYMMDDHHMM(beanParametro.fechainiciorealizado)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOACTIVIDAD", fnVerNuloStr(beanParametro.codigoactividad)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new FotoDato();
                        bean.IdFoto = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();
                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();
                        bean.FechaFoto = loDr.GetValue(loDr.GetOrdinal("FECHA")).ToString().Trim();

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static List<BEGMaps> findRegistroTrackBean(String codigoactividad, string codigousuario, string fechamovil)
    {
        List<BEGMaps> lista = new List<BEGMaps>();
        BEGMaps bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_TRACKING_ACTIVIDAD", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGOACTIVIDAD", fnVerNuloStr(codigoactividad)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FECHAMOVIL", getStringFechaYYMMDDHHMM(fechamovil)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    int i = 0;
                    while (loDr.Read())
                    {
                        bean = new BEGMaps();
                        
                        bean.IdRegistro = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.Numeracion = (++i) + "";

                        bean.CodigoActividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.NombreActividad = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.NombreEstado = loDr.GetValue(loDr.GetOrdinal("NOMBREESTADO")).ToString().Trim();

                        bean.FechaMovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();

                        bean.Latitud = loDr.GetValue(loDr.GetOrdinal("LATITUD")).ToString().Trim();

                        bean.Longitud = loDr.GetValue(loDr.GetOrdinal("LONGITUD")).ToString().Trim();

                        bean.Observacion = loDr.GetValue(loDr.GetOrdinal("OBSERVACION")).ToString().Trim();

                        bean.MotivoEntrega = loDr.GetValue(loDr.GetOrdinal("MOTIVOENTREGA")).ToString().Trim();

                        bean.MotivoNoVisita = loDr.GetValue(loDr.GetOrdinal("MOTIVONOENTREGA")).ToString().Trim();

                        bean.IdUsuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();

                        bean.Asistencia = loDr.GetValue(loDr.GetOrdinal("ASISTENCIA")).ToString().Trim();

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    /*--------------------------------------------------------------------------------------------*/

    public static List<AbstractBean> findActividadEstadoReporteBean(ActividadReporteBean beanParametro, string usuarioSesion)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        ActividadEstadoReporteBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_ESTADO_S_REPORTE", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@NOMBREACTIVIDAD", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil))); // nuevo

                cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@FECHAFIN", getStringFechaYYMMDDHHMM(beanParametro.fechafin)));
                
                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO_SESION", fnVerNuloStr(usuarioSesion)));
                
                cmd.Parameters.Add(new SqlParameter("@FLAG_SUPERVISOR", fnVerNuloStr(AbstractBean.ACTIVO)));

                cmd.Parameters.Add(new SqlParameter("@PAGINAACTUAL", beanParametro.paginaactual));

                cmd.Parameters.Add(new SqlParameter("@REGISTROPORPAGINA", beanParametro.registroporpagina));

                cmd.Parameters.Add(new SqlParameter("@BUSCARNAME", fnVerNuloStr(beanParametro.buscarname)));

                cmd.Parameters.Add(new SqlParameter("@BUSCARORDEN", beanParametro.buscarorden));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadEstadoReporteBean();

                        bean.id = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODACTIVIDAD")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("ACTIVIDAD")).ToString().Trim();

                        bean.nombreusuario = loDr.GetValue(loDr.GetOrdinal("USUARIO")).ToString().Trim();

                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("ESTADO")).ToString().Trim();

                        bean.fecha = loDr.GetValue(loDr.GetOrdinal("FECHA")).ToString().Trim();

                        bean.observacion = loDr.GetValue(loDr.GetOrdinal("OBSERVACION")).ToString().Trim();

                        bean.entrega = loDr.GetValue(loDr.GetOrdinal("ENTREGA")).ToString().Trim();

                        bean.noentrega = loDr.GetValue(loDr.GetOrdinal("NOENTREGA")).ToString().Trim();

                        bean.latitud = loDr.GetValue(loDr.GetOrdinal("LATITUD")).ToString().Trim();

                        bean.longitud = loDr.GetValue(loDr.GetOrdinal("LONGITUD")).ToString().Trim();

                        bean.fechamovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();

                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("IDUSUARIO")).ToString().Trim();

                        bean.tamaniototal = loDr.GetValue(loDr.GetOrdinal("TAMANIOTOTAL")).ToString().Trim();

                        bean.errorConexion = Int16.Parse(loDr.GetValue(loDr.GetOrdinal("ERRORCONEXION")).ToString().Trim()); // NUEVO

                        //bean.foto = Int16.Parse(loDr.GetValue(loDr.GetOrdinal("FOTO")).ToString().Trim());

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }



    public static List<AbstractBean> findActividadReporteExcel(ActividadReporteBean beanParametro, string usuarioSesion)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        ActividadReporteBean bean = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_S_REPORTE_EXCEL", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@NOMBREACTIVIDAD", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil))); // nuevo

                cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@FECHAFIN", getStringFechaYYMMDDHHMM(beanParametro.fechafin)));
                
                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO_SESION", fnVerNuloStr(usuarioSesion)));
                cmd.Parameters.Add(new SqlParameter("@FLAG_SUPERVISOR", fnVerNuloStr(AbstractBean.ACTIVO)));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadReporteBean();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("NOMBREACTIVIDAD")).ToString().Trim();

                        bean.usuario = loDr.GetValue(loDr.GetOrdinal("USUARIO")).ToString().Trim();

                        bean.tipoactividad = loDr.GetValue(loDr.GetOrdinal("TIPOACTIVIDAD")).ToString().Trim();

                        bean.cantidadestado = loDr.GetInt32(loDr.GetOrdinal("CANTIDADESTADO"));

                        bean.cantidadestadorealizado = loDr.GetInt32(loDr.GetOrdinal("CANTIDADESTADOREALIZADO"));

                        bean.fechainiciorealizado = loDr.GetValue(loDr.GetOrdinal("FECHAINICIOREALIZADO")).ToString().Trim();

                        bean.fechafinrealizado = loDr.GetValue(loDr.GetOrdinal("FECHAFINREALIZADO")).ToString().Trim();

                        //bean.duracion = loDr.GetValue(loDr.GetOrdinal("DURACION")).ToString().Trim();


                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static FotoDatoBean findActividadFotoDato(String registro)
    {
        FotoDatoBean bean = null;

        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_S_FOTODATOXREGISTRO", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@REGISTRO", fnVerNuloStr(registro)));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new FotoDatoBean();

                        bean.usuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();

                        bean.actividad = loDr.GetValue(loDr.GetOrdinal("CODIGOACTIVIDAD")).ToString().Trim();

                        bean.fechaMovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();

                        bean.fechaMovil = getStringFechaYYMMDDHHMM(bean.fechaMovil);

                        bean.fotos = Int16.Parse(loDr.GetValue(loDr.GetOrdinal("FOTO")).ToString().Trim() );
                        
                    }
                }
            }
        }

        return bean;
    }



    public static List<FotoDato> fnSeleccionarFoto(String idusuario, String fecha, String actividad)
    {
        List<FotoDato> loLista = new List<FotoDato>();

        FotoDato loFotoDato = null;


        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPS_SEL_FOTO", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@USUARIO", fnVerNuloStr(idusuario)));
                cmd.Parameters.Add(new SqlParameter("@FECHA", fnVerNuloStr(fecha)));
                cmd.Parameters.Add(new SqlParameter("@ACTIVIDAD", fnVerNuloStr(actividad)));


                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        loFotoDato = new FotoDato();

                        loFotoDato.Foto = (Byte[])loDr.GetValue(loDr.GetOrdinal("FOTO"));

                        loFotoDato.Descripcion = loDr.GetValue(loDr.GetOrdinal("Descripcion")).ToString().Trim();

                        loLista.Add(loFotoDato);



                    }
                }
            }
        }

        return loLista;
    }


    public static List<AbstractBean> findActividadEstadoReporteExcel(ActividadReporteBean beanParametro, string usuarioSesion)
    {
        List<AbstractBean> lista = new List<AbstractBean>();
        ActividadEstadoReporteBean bean = null;

        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_ESTADO_S_EXCEL", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@NOMBREACTIVIDAD", fnVerNuloStr(beanParametro.nombre)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(beanParametro.codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOPERFIL", fnVerNuloStr(beanParametro.codigoperfil))); // nuevo

                cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", getStringFechaYYMMDDHHMM(beanParametro.fechainicio)));

                cmd.Parameters.Add(new SqlParameter("@FECHAFIN", getStringFechaYYMMDDHHMM(beanParametro.fechafin)));

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO_SESION", fnVerNuloStr(usuarioSesion)));
                
                cmd.Parameters.Add(new SqlParameter("@FLAG_SUPERVISOR", fnVerNuloStr(AbstractBean.ACTIVO)));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {
                    while (loDr.Read())
                    {
                        bean = new ActividadEstadoReporteBean();

                        bean.codigo = loDr.GetValue(loDr.GetOrdinal("CODACTIVIDAD")).ToString().Trim();

                        bean.nombre = loDr.GetValue(loDr.GetOrdinal("ACTIVIDAD")).ToString().Trim();

                        bean.nombreusuario = loDr.GetValue(loDr.GetOrdinal("USUARIO")).ToString().Trim();

                        bean.nombreestado = loDr.GetValue(loDr.GetOrdinal("ESTADO")).ToString().Trim();

                        bean.fecha = loDr.GetValue(loDr.GetOrdinal("FECHA")).ToString().Trim();

                        bean.observacion = loDr.GetValue(loDr.GetOrdinal("OBSERVACION")).ToString().Trim();

                        bean.entrega = loDr.GetValue(loDr.GetOrdinal("ENTREGA")).ToString().Trim();

                        bean.noentrega = loDr.GetValue(loDr.GetOrdinal("NOENTREGA")).ToString().Trim();

                        bean.latitud = loDr.GetValue(loDr.GetOrdinal("LATITUD")).ToString().Trim();

                        bean.longitud = loDr.GetValue(loDr.GetOrdinal("LONGITUD")).ToString().Trim();

                        bean.fechamovil = loDr.GetValue(loDr.GetOrdinal("FECHAMOVIL")).ToString().Trim();

                        lista.Add(bean);
                    }
                }
            }
        }

        return lista;
    }

    public static List<FotoDato> findReporteActividadEstadoFotoBean(string codigousuario, string fechamovil)
    {
        List<FotoDato> lista = new List<FotoDato>();
        FotoDato bean = null;
        
        /**********************************************************************/
        using (SqlConnection conn = new SqlConnection(prCadConexion))
        {

            using (SqlCommand cmd = new SqlCommand("USPW_ACTIVIDAD_ESTADO_FOTOS_REPORTE", conn))
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@CODIGOUSUARIO", fnVerNuloStr(codigousuario)));

                cmd.Parameters.Add(new SqlParameter("@FECHAMOVIL", getStringFechaYYMMDDHHMM(fechamovil)));

                using (SqlDataReader loDr = cmd.ExecuteReader())
                {

                    while (loDr.Read())
                    {
                        bean = new FotoDato();

                        bean.IdFoto = loDr.GetValue(loDr.GetOrdinal("ID")).ToString().Trim();
                        bean.codigousuario = loDr.GetValue(loDr.GetOrdinal("CODIGOUSUARIO")).ToString().Trim();
                        bean.FechaFoto = loDr.GetValue(loDr.GetOrdinal("FECHA")).ToString().Trim();

                        lista.Add(bean);
                    }


                }
            }
        }

        return lista;
    }
}
